From 26b35b9ace97f433fcf4c5dfbdfb573d1075255f Mon Sep 17 00:00:00 2001 From: Matthew Daley Date: Sun, 1 Dec 2013 23:15:03 +1300 Subject: [PATCH] libxl: don't leak pcidevs in libxl_pcidev_assignable Coverity-ID: 1055896 Signed-off-by: Matthew Daley Acked-by: Ian Jackson --- tools/libxl/libxl_pci.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c index 095d5643d9..2e5247031a 100644 --- a/tools/libxl/libxl_pci.c +++ b/tools/libxl/libxl_pci.c @@ -1021,11 +1021,10 @@ static int libxl_pcidev_assignable(libxl_ctx *ctx, libxl_device_pci *pcidev) pcidevs[i].bus == pcidev->bus && pcidevs[i].dev == pcidev->dev && pcidevs[i].func == pcidev->func) - { - return 1; - } + break; } - return 0; + free(pcidevs); + return i != num; } int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting) -- 2.30.2